#ifndef _BOOL_ARRAY_HPP
#define _BOOL_ARRAY_HPP

#include <GA\BinaryString\BinaryString.hpp>

namespace unitraf
{

class BoolArray :
	public BinaryString
{
public:
	BoolArray( size_t size );
	virtual ~BoolArray( );

	//methods
	virtual size_t getLength( ) const;
	virtual bool getBit( size_t pos ) const;
	virtual void setBit( size_t pos, bool bit = true );
	virtual void flipBit( size_t pos );
	virtual BinaryString* clone( ) const;//virtual copy-constuctor
	virtual unsigned long toUlong( ) const;
	virtual unsigned long toUlong(size_t begin, size_t end ) const;

protected:
	BoolArray( const BoolArray& ) { }

protected:
	size_t _length;
	bool *_array;

};

} //namespace unitraf

#endif //#ifndef _BOOL_ARRAY_HPP

